package com.iwords.service.object;


/**
 * 单词熟悉程度枚举。 getValue返回标识值。 getRetainDays返回该熟悉度上的单词，多少天（24小时）后可以复习。
 */
public enum KnownLevel {
	Known {
		public int getValue() {
			return 7;
		}

		public int getRetainDays() {
			return Integer.MAX_VALUE;
		}

        public String getStr(){

            return "known";
        }
	},
	Level5 {
		public int getValue() {
			return 6;
		}

		public int getRetainDays() {
			return 15;
		}
         public String getStr(){

            return "level5";
        }
	},
	Level4 {
		public int getValue() {
			return 5;
		}

		public int getRetainDays() {
			return 7;
		}
         public String getStr(){

            return "level4";
        }
	},
	Level3 {
		public int getValue() {
			return 4;
		}

		public int getRetainDays() {
			return 4;
		}
         public String getStr(){

            return "level3";
        }
	},
	Level2 {
		public int getValue() {
			return 3;
		}

		public int getRetainDays() {
			return 2;
		}
         public String getStr(){

            return "level2";
        }
	},
	Level1 {
		public int getValue() {
			return 2;
		}

		public int getRetainDays() {
			return 1;
		}
         public String getStr(){

            return "level1";
        }
	},
	Unknown {
		public int getValue() {
			return 1;
		}

		public int getRetainDays() {
			return 1;
		}
         public String getStr(){

            return "unknown";
        }
	},
	None {
		public int getValue() {
			return 0;
		}

		public int getRetainDays() {
			return 0;
		}
                 public String getStr(){

            return "none";
        }
	};
	public abstract int getValue();

	public abstract int getRetainDays();

    public abstract String getStr();
}
